﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using Bastanteo.Negocio;
using Bastanteo.Persistencia.ADO;
using Bastanteo.Domain;

namespace Bastanteo.Negocio
{
    public class GrupoBL
    {

        
        GrupoDAO GrupoDao = new GrupoDAO();

        public Grupo RegistrarCargo(int GrupoId, string GrupoDescripcion)
        {

            Grupo _grupo = new Grupo();

            if ( GrupoDescripcion == null)
            {

                throw new DatosInsuficientesException("Algunos datos están vacíos");

            }


            if (GrupoDao.Obtener(GrupoId) != null)
            {
                throw new EntidadRepetidaException("Ya existe un Grupo registrado con el mismo Id");
            }

            _grupo.GrupoId = GrupoId;
            _grupo.GrupoDescripcion = GrupoDescripcion;


            return GrupoDao.Crear(_grupo);
        }


        public void EliminarGrupoPorId(int GrupoId){ 

             if(GrupoId<=0){
                throw new DatosInsuficientesException("Tiene que ingresar el codigo del Grupo");
            }

            //Verificar si el poder está siendo utlizando por por algún bastanteo. 


            Grupo _grupoEliminar = GrupoDao.Obtener(GrupoId);
            GrupoDao.Eliminar(_grupoEliminar);
        }


        //public ICollection<Cargo> ObtenerTodosCargos()
        //{

        //    ICollection<Cargo> _cargos = null;

        //    _cargos = CargoDao.Listar();

        //    return _cargos;

        //}




        //public ICollection<Cargo> ObtenerPorDescripcion(string CargoDescripcion)
        //{

        //    ICollection<Cargo> _cargos = null;

        //    if (CargoDescripcion == null)
        //    {
        //        throw new DatosInsuficientesException("Tiene que ingresar la descripcion del Cargo para poder buscar");
        //    }

        //    foreach (Cargo item in CargoDao.Listar())
        //    {
        //        if (item.CargoDescripcion.Contains( CargoDescripcion.Trim()))
        //        {
        //            _cargos.Add(item);
        //        }
        //    }

        //    return _cargos;

        //}
    

    }
}